package com.snow.conditions;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 查询条件 等于，大于，小于，in，like，不等于，大于等于，小于等于，notLike
 */
@AllArgsConstructor
@Getter
public enum ConditionType {

    /**
     * 等于
     */
    equal("="),
    /**
     * 不等于
     */
    notEqual("!="),
    /**
     * 模糊查询
     */
    like("like"),
    /**
     * 左模糊 %{value}
     */
    likeLeft("like"),

    /**
     * 右模糊 {value}%
     */
    likeRight("like"),
    /**
     * 反向模糊查询
     */
    notLike("not like"),
    /**
     * 大于
     */
    greaterThan(">"),
    /**
     * 小于
     */
    lessThan("<"),
    /**
     * 大于等于
     */
    greaterThanOrEqual(">="),
    /**
     * 小于等于
     */
    lessThanOrEqual("<="),
    /**
     * in
     */
    in("in"),
    notIn("not in"),
    between("between"),
    /**
     * 子查询
     */
    subQuery(""), isNull("is null"), isNotNull("is not null");
    private final String hqlValue;
}
